#coding=UTF-8
# Command-Line
import os
import click

# 这是父命令，因此函数本身不需要做任何事情

def register(app):

	@app.cli.group()
	def translate():
		pass
	
	@translate.command()
	@click.argument('lang')
	def init(lang):
		if os.system('pybabel extract -F babel.cfg -k _l -o messages.pot .'):
			raise RuntimeError('extract command failed')
		if os.system('pybabel init -i message.pot -d app/translation -l '+ lang):
			raise RuntimeError('init command failed')
		os.remove('message.pot')
	
	#更新所有的语言
	@translate.command()
	def update():
		if os.system('pybabel extract -F babel.cfg -k_l -o messages.pot .'):
			raise RuntimeError('extract command failed')
		if os.system('pybabel update -i messages.pot -d app/translations'):
			raise RuntimeError('update command failed')
		os.remove('messages.pot')

	#编译所有的语言
	@translate.command()
	def compile():
		if os.system('pybabel compile -d app/translations'):
			raise RuntimeError('compile command failed')


